package com.qfedu.vhr;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import com.qfedu.vhr.employee.entity.Employee;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.Collections;
import java.util.List;

/**
 * @author baize
 * @date 2023/1/6
 * @site www.qfedu.com
 */
@SpringBootTest
public class CodeGenerate {

    @Test
    public void test01() {

        FastAutoGenerator.create("jdbc:mysql:///vhr?serverTimezone=Asia/Shanghai", "root", "1234")
                .globalConfig(builder -> {
                    builder.author("cuijun") // 设置作者
                            .fileOverride() // 覆盖已生成文件
                            .outputDir("D:\\workspace\\java2207\\08.project\\code\\vhr\\vhr-employee\\src\\main\\java"); // 指定输出目录
                })
                .packageConfig(builder -> {
                    builder.parent("com.qfedu.vhr") // 设置父包名
                            .moduleName("employee") // 设置父包模块名
                            .pathInfo(Collections.singletonMap(OutputFile.xml,
                                    "D:\\workspace\\java2207\\08.project\\code\\vhr\\vhr-employee\\src\\main\\resources\\mapper")); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {
                    builder.addInclude("employee","mail_send_log") // 设置需要生成的表名
                            .addTablePrefix("t_", "c_"); // 设置过滤表前缀
                })
                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板，默认的是Velocity引擎模板
                .execute();

    }



}
